<?php
include_once("config.php");

// Действие над сообщениями - new, send, view, viewmessage
$action = $_GET['act'];

// Режим вывода - outgoing, incoming
$mode = $_GET['mode']; 

// Получение id сообщения
$msgid = $_GET['msgid'];

// $to - параметр взятый из формы
// Отсутствует $to - берем GET параметр, передаваемый странице 
$to = $_POST['to'];
if(!$to) $to = $_GET['to'];

if($to) 
	$toid=getUserIdByLogin($to);
else 
{
	// $toid - параметр взятый из формы
	// Отсутствует $toid - берем GET параметр, передаваемый странице 
	$toid = $_POST['toid'];
	if(!$toid) $toid = $_GET['toid'];
}

// Получение Темы и Текста сообщения из формы.
$subject = $_POST['subject'];
$text=$_POST['text'];

// Если пользователь в системе:
if ($_SESSION["loggedIn"]) {
	$uid=getUserIdByLogin($_SESSION['login']);
	echo "<center>
		<table class=bot width=100%>
			<tr>
				<td class=txtmenu onclick=\"loadpage('messages.php?act=new', 'content')\"><img src='/images/msg_new.png'></img>Новое сообщение</td></tr>
				<td class=txtmenu onclick=\"loadpage('messages.php?act=view&mode=outgoing', 'content')\"><img src='/images/folder_closed.png'></img>Исходящие [".getMessageCountByField('author', $uid)."]</td>
				<td class=txtmenu onclick=\"loadpage('messages.php?act=view&mode=incoming', 'content')\"><img src='/images/folder_closed.png'></img>Входящие [".getMessageCountByField('target', $uid)."]</td>
	
				</table><hr>";

	//Режим создания
	if($action=="new") {
		echo "
			<form action='messages.php?act=send' method='POST'>
			<table width=500>
			<tr><td colspan=2 class=up>Отправка сообщения</td></tr>
			<tr class=n><td width=50><b>От: </b></td><td>".getUserInfo($uid, 'login')."</td></tr>
			<tr class=n><td><b>Кому: </b></td><td><input type='text' autocomplete='no' id=to name='to' value='".getUserInfo($toid, 'login')."' 
				maxlength=20 onkeyup=\"loadpage('get.php?what=login&id=to&param='+val('to'), 'list')\"><div id=list> </div></td></tr>
			<tr  class=n><td><b>Тема: </b></td><td><input type='text' name='subject' value='" .$subject. "' maxlength=20></td></tr>
			<tr class=n><td><b>Текст: </b></td><td><textarea name='text' cols='40' rows='6' wrap='virtual'></textarea></td></tr>
			<tr><td colspan=2 class=bot><input type='submit' name='go' value='Отправить'>
			<input type='reset' value='Очистить форму'></td></tr>
			</table>
			</form>";
	}
	//Отправка с параметрами
	if($action=="send") {
		$target=getUserInfo($toid, 'id');
		if($target) {
			echo "
				<table width=500>
				<tr><td class=up>Личное сообщение</td></tr>
				<tr><td class=n>От ".getUserInfo($uid, 'login')." для ".getUserInfo($target[id], 'login')." с темой \"".$subject."\"</td></tr>
				<tr><td class=n colspan=2>".$text."</td></tr>
				<tr><td class=bot colspan=2><b> Успешно отправлено. </b></td></tr>
				</table>";
				$query="INSERT INTO messages (author, target, subject, text) VALUES ('".$uid."','".$toid."','".$subject."','".$text."')  ;";
				mysql_query($query);
		}
		else displayErrors ("simp", "Некорректно задан пользователь", 500);
	}
	//Режим просмотра
	if($action=="view" || $action=="") {
		// Формируем SQL запросы
		$incoming_query="SELECT * FROM messages WHERE target='".$uid."';";
		$outgoing_query="SELECT * FROM messages WHERE author='".$uid."';";
		//Если просматриваем исходящие
		if ($mode=="outgoing") {
			$result=mysql_query($outgoing_query);
			$total = mysql_num_rows($result);
			//Выводим заголовок таблицы
			if ($total && $total>0) {
				echo "
					<table width=650 class=n>
					<tr>
						<td class=up width=80>Кому</td>
						<td class=up width=170>Тема</td>
						<td class=up width=400>Сообщение</td>
					</tr>";
				//Выводим содержимое
				for ($i=0; $i<$total; $i++)
				{
					$msg = mysql_fetch_array($result);
					echo "<tr class=select>
						<td>".getUserInfo($msg[target], 'login')."</td>
						<td class=l onclick=\"loadpage('messages.php?act=viewmsg&msgid=".$msg[id]."', 'content')\">".change ('cut', $msg[subject], 20)."</td>
						<td class=l onclick=\"loadpage('messages.php?act=viewmsg&msgid=".$msg[id]."', 'content')\">".change ('cut', $msg[text], 45)."</td>
						</tr>";
				}
				echo"</table>";
			}
			else displayErrors ("simp", "В папке 'Исходящие' сообщений нет.");
		}

		//Если просматриваем входящие
		if($mode=="incoming") {
			$result=mysql_query($incoming_query);
			$total = mysql_num_rows($result);
			if ($total && $total>0) {
				//Выводим заголовок таблицы
				echo "
					<table width=650 class=n>
					<tr>
						<td class=up width=80>От кого</td>
						<td class=up width=170>Тема</td>
						<td class=up width=400>Сообщение</td>
					</tr>"; 
				for ($i=0; $i<$total; $i++)	{
					$msg = mysql_fetch_array($result);
					echo "<tr class=select>
						<td>".getUserInfo($msg[author], 'login')."</td>
						<td class=l onclick=\"loadpage('messages.php?act=viewmsg&msgid=".$msg[id]."', 'content')\">".change ('cut', $msg[subject], 20)."</td>
						<td class=l onclick=\"loadpage('messages.php?act=viewmsg&msgid=".$msg[id]."', 'content')\">".change ('cut', $msg[text], 45)."</td>
						</tr>";
				}
				echo"</table>";
			}
			else displayErrors ("simp", "В папке 'Входящие' сообщений нет.");
		}
	}
	if($action=="viewmsg") {
		$msg=getMessageById($msgid);
		echo "
			<table width=500>
			<tr><td class=up colspan=2>Личное сообщение</td></tr>
			<tr><td class=n width=70><b>От кого:</b></td><td class=n><a href=profile.php?id=".$msg[author].">".getUserInfo($msg[author], 'login')."</a></td></tr>
			<tr><td class=n><b>Кому:</b></td><td class=n><a href=profile.php?id=".$msg[target].">".getUserInfo($msg[target], 'login')."</a></td></tr>
			<tr><td class=n><b>Тема:</b></td><td class=n>".$msg[subject]."</td></tr>
			<tr><td class=n><b>Сообщение:</b></td><td class=n>".$msg[text]."</td></tr>
			<tr><td class=bot colspan=2><input type=button onclick=\"loadpage('messages.php?act=new&toid=";
		if ($msg[author] == $uid) { 
			echo $msg[target]."', 'content')\" value='Отправить еще сообщение'>";
		}
		else {
			echo $msg[author]."', 'content')\" value='Ответить на сообщение'>";
		}
		echo "</td></tr></table>";
	}
}
else // Если пользователь не в системе
{
	displayErrors ("login", "", 500);
}
?>
